From fba64c89d6a4fafd4e24c5bc432e3cf4d5bf6cb7 Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 7 Dec 2023 22:34:23 -0800 Subject: password reset --- src/routes/(app)/reset/[code]/+page.server.js | 30 ++++++++++ src/routes/(app)/reset/[code]/+page.svelte | 80 +++++++++++++++++++++++++++ 2 files changed, 110 insertions(+) create mode 100644 src/routes/(app)/reset/[code]/+page.server.js create mode 100644 src/routes/(app)/reset/[code]/+page.svelte (limited to 'src/routes/(app)/reset/[code]') diff --git a/src/routes/(app)/reset/[code]/+page.server.js b/src/routes/(app)/reset/[code]/+page.server.js new file mode 100644 index 00000000..92ad1d0f --- /dev/null +++ b/src/routes/(app)/reset/[code]/+page.server.js @@ -0,0 +1,30 @@ +import { fail, redirect } from "@sveltejs/kit"; +import { fd, post, login } from "$lib/utils"; + +export const actions = { + default: async ({ cookies, params, request }) => { + let ip = request.headers.get("cf-connecting-ip"); + let error; + + let { code } = params; + let { password } = await fd(request); + + try { + let user = await post("/reset", { code, password }); + user.password = password; + + try { + await login(user, cookies, ip); + error = null; + } catch (e) { + error ||= e.message; + } + + if (error) return fail(400, { error }); + throw redirect(307, `/${user.username}`); + } catch (e) { + console.log(e.message); + return fail(400, { error: e.message }); + } + }, +}; diff --git a/src/routes/(app)/reset/[code]/+page.svelte b/src/routes/(app)/reset/[code]/+page.svelte new file mode 100644 index 00000000..83e860ae --- /dev/null +++ b/src/routes/(app)/reset/[code]/+page.svelte @@ -0,0 +1,80 @@ + + +
+
+ + + +
+ +
+
+

{$t("login.reset")}

+ + {#if form?.error} +
+ {form.error} +
+ {/if} + +
+
+ + {#if revealPassword} + + {:else} + + {/if} + +
+ +
A new seed phrase will be generated for your account. You'll need to import your old seed phrase if you want to use the same nostr profile and savings account as before.
+ + +
+
+
+
-- cgit v1.2.3